using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;

namespace ESecretary.Business
{
    public class Win32Hook
    {

        [DllImport("kernel32")]
        public static extern int GetCurrentThreadId();

        [DllImport("user32", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
        public static extern int SetWindowsHookEx(HookType idHook, HOOKPROC lpfn,  int hmod, int dwThreadId);

        public enum HookType
        {
            WH_KEYBOARD = 2
        }

        public delegate int HOOKPROC(int nCode, int wParam, int lParam);

        public void SetHook()
        {
            //   set   the   keyboard   hook   
            SetWindowsHookEx(HookType.WH_KEYBOARD, new HOOKPROC(this.MyKeyboardProc), 0, GetCurrentThreadId());
        }

        public int MyKeyboardProc(int nCode, int wParam, int lParam)
        {
            //Perform   your   process   
            return 0;
        }
    }   

}
